home *** CD-ROM | disk | FTP | other *** search
/ Workbench Design / WB Collection.iso / workbench werkzeuge / icon tools / picticon / docs / picticon.guide (.txt) < prev    next >
Amigaguide Document  |  1996-04-07  |  20KB  |  409 lines

  1. @database Picticon.guide
  2. @node "Main" "Main"
  3.            @{b}@{fg highlight}Picticon V0.96@{ub}@{fg text}
  4.                       @{i}December 5, 1994@{ui}
  5.     This  document  describes and explains @{b}@{fg highlight}Picticon
  6. V0.96@{ub}@{fg text}, a picture to icon convertor that requires OS3.x.
  7. Datatypes, palette sharing, and appicons are a few of the features.
  8.     All  binaries,  executables,  source  and  documentation  is  @{fgshine}Copyright
  9. 1993,  1994  by Chad Randall@{fg text}.  All Rights Reserved.  Please
  10. read the section "Copying
  11. Disclaimers" for more information.
  12.   @{"Copying
  13. Disclaimers
  14. " link "Copying"} Some legal information.
  15.              @{"Introduction
  16. " link "Intro"} A brief introduction.
  17.              @{"Requirements
  18. " link "Require"} What you will need in order to run.
  19.                     @{"Usage
  20. " link "Usage"} How to utilize the various features.
  21.          @{"Tooltype
  22. Summary
  23. " link "Tooltypes"} A complete listing of tooltypes and args.
  24.                @{"Known
  25. " link "Bugs"} A list of known bugs, and a to-do list.
  26.                   @{"History " link "history"} What has been done lately.
  27.     @{"Questions
  28. Answers
  29. " link "QA"} A small list of Q&A.
  30.         @{"Notes on Newicons " link "Newicons"} Some ideas, hints, and solutions.
  31.   @{"Credits
  32. Author
  33. " link "Author"} About me, and some thanks.
  34. @endnode
  35. @NODE "Copying" "Copying and Disclaimers"
  36. @prev "Main"
  37. @next "Intro"
  38. Copying and Disclaimers
  39.     @{fg  shine}Picticon@{fg  text}  was thrown together in a few days
  40. using  bits  and  pieces  of  @{"Iconian"  link  "Iconian" 0}.  If you
  41. haven't  gotten  a  copy  of  Iconian, find one.  It is the number one
  42. OS3.x icon editor you can get (IMHO).
  43.     Since  @{fg  highlight}Picticon@{fg  text}  is a patchwork program
  44. that's  held together by spaghetti sauce, many bugs will probably show
  45. up.   I  will  honestly  claim that I can get consistent, satisfactory
  46. results  at  this time.  If you do run across any, please let me know.
  47. SEE:  @{"Bugs" link "Bugs" 0}
  48.     Everything  that  this  archive contains that was created by me is
  49. copyrighted.   You  may  not use this copyrighted material in your own
  50. programs, archives, or creations without my express permission.
  51.     Although  this  archive and it's contents are copyrighted, you may
  52. freely  copy  them  if  no charges are incurred.  A nominal fee may be
  53. charged  for  media costs, plus 50 cents (US) for labor.  This means a
  54. disk  copy,  so the entire disk may not be sold for more than the cost
  55. of  the disk plus 50 cents (US).  Of course, shipping is separate.  If
  56. you  receive a disk that you feel you paid too much for, please spread
  57. the  word.   I  personally don't use @{b}@{fg shine}PD houses@{ub}@{fg text},
  58. but many do.  So warn your fellow Amigans about excessive prices.
  59.     There   are  several  exceptions  to  this.   @{b}@{fg  shine}Fred
  60. Fish@{ub}@{fg  text}  may  include this program, of course.  He is the
  61. one spot any Amigan should be able to look to for quality material.
  62.     @{b}@{fg  shine}Aminet@{ub}@{fg  text}  also has free distribution
  63. rights.  This is another high-quality distribution network that should
  64. not be hampered in any way.
  65.     Any   @{b}@{fg  shine}CD  collection@{ub}@{fg  text}  can  include
  66. @{fg  highlight}Picticon@{fg  text} for free.  CD's are a great source
  67. for  programs.   Publishers  of CD's rarely (never?) take seem to take
  68. advantage  of end users.  (Unless they were to *only* include Picticon
  69. on a CD and then charge 19.95...  yea right)
  70.     @{b}@{fg  shine}Magazines@{ub}@{fg  text}  wishing to include @{fghighlight}Picticon@{fg text}
  71. on  a  coverdisk  may  do so on one condition.  I'd like a copy of the
  72. specific  issue mailed to me.  My address is at the end of this guide.
  73. 10-30$ isn't alot considering all the issues a magazine sells.  Is it?
  74. (A  big  thanks  to Amiga User International for asking for Iconian in
  75. the past.)
  76.     The source code "doloaddt.m" may be included into your E programs.
  77. Special  copyrights and conditions that apply to these works appear in
  78. "doloaddt.readme".
  79. @endnode
  80. @node "Intro" "Introduction"
  81. @prev "Copying"
  82. @next "Require"
  83. Introduction
  84.     @{fg  highlight}Picticon@{fg  text}  is  a conversion program that
  85. creates "thumbnail" icons from pictures.  This is accomplished through
  86. datatypes, and therefore many various formats are supported.
  87.     Also,  palette  sharing  routines  are  used to remap these scaled
  88. icons to the current Workbench's palette.
  89.     Unlike  previous  similar  programs, many options are available to
  90. customize  what  these  icons  look  like.   These  include background
  91. images, size text, centering, and sizes from real small to extrodinary
  92. large.  SEE:  @{"Tooltype
  93. Summary" link "Tooltypes" 0}
  94.     A  graphical  status  window  is opened if run from Workbench or a
  95. Appicon.  This status window will be opened and closed many times, but
  96. it's  position  is remembered until you turn the computer off.  If you
  97. wish  to  set  a  permanent  default  position,  then  copy  the  file
  98. "Picticon.prefs" from ENV:  to ENVARC:.
  99.     All    visual    information    may   be   turned   off   by   the
  100. QUIET
  101. tooltype@{"QUIET
  102. tooltype"  link  "Tooltypes" 0}.  This includes
  103. the  status  window  and/or  CLI  output.  (Note, the CLI QUIET switch
  104. isn't operational, so use the >NIL:  pipe for now.)
  105.     New  features  of  version 0.90 include aspect scaling, fractional
  106. scaling, faster rendering, HAM support, and a complete CLI interface.
  107.     New  features of version 0.95 include @{"newicon" link "Newicons"} support and multiple
  108. CLI filenames and/or match-patterns.
  109.     New  features  of  version  0.96 include aborting multiple picture
  110. conversions and disabling the AppItem.
  111.   There are three ways to run @{fg highlight}Picticon@{fg text}.
  112.     CLI:   Recommended  usage would be from a script.  A sample script
  113. is included.
  114.     Workbench:    Seleting   multiple   icons,   then  double-clicking
  115. Picticon's icon will invoke conversion of the selected pictures.
  116.     Appicon:   If  run from Workbench without passed files, an Appicon
  117. will  be  opened.   Any  "dropped" files will be processed.  To remove
  118. Picticon, just doubleclick the appicon and select "Quit".
  119. @endnode
  120. @node "Require" "Requirements"
  121. Requirements
  122.     Any Amiga running at least Kickstart 3.0 and Workbench 3.0.
  123.     At least 1 megabyte of RAM is required.  2 megs of CHIP and 4 megs
  124. of FAST is recommended.
  125.     A 68000, but a faster processor is recommended.
  126.     The  external  librarys "iffparse", "diskfont", and "mathtrans" of
  127. at  least  version  37.  All these are standard, so no problems should
  128. arise.
  129.     A  strong  knowledge  of  palettes,  colors,  and tooltypes/cli is
  130. recommended for full feature utilization.
  131.     A nice set of pictures.  Come on, at least one.  :) 
  132. @endnode
  133. @node "Usage" "Usage"
  134. Usage
  135.     Just  double  click  the  icon for an instant result.  Then drop a
  136. picture  icon onto the newly created appicon.  If you need the picture
  137. to show up on Workbench, use the "Window-> Show-> All Files" Workbench
  138. menu option.
  139.     Read  the  section  "@{"Tooltype
  140. Summary" link "Tooltypes" 0}" for
  141. some  better  info  on creating custom backgrounds, sizes, and overall
  142. looks.
  143.     The CLI accepts multiple files and/or match-patterns.  Example:
  144. picticon pictures:#?.gif store:gifs/#?.gif ram:(#?.iff|#?.ilbm|#?.pic)
  145. @endnode
  146. @node "Tooltypes" "Tooltype Summary"
  147. Tooltype Summary
  148.     x a numerical value
  149.     B a boolean value (only YES or NO, TRUE or FALSE are accepted)
  150.     $ a string, usually a file with directory path
  151.     () What the option defaults to
  152. APPICON=$ ('ENV:SYS/def_appicon') then,
  153.           (program's icon) then,
  154.           ('ENV:SYS/def_tool') then,
  155.           (default tool icon supplied by Workbench)
  156.     Names  a  user  defined  icon  for  the  appicon  image.   X and Y
  157. positions  are  set to NO_ICON_POSITION unless overridden by APP_X_POS
  158. and/or APP_Y_POS.
  159. APP_X_POS=x (NO_ICON_POSITION)
  160. APP_Y_POS=x (NO_ICON_POSITION)
  161.     Specifies  where  the  appicon  will appear, in typical unreliable
  162. Workbench fashion.
  163. ASPECT_X=x (1)
  164. ASPECT_Y=y (1)
  165.     Defines   your  screen  aspect  ratios.   If  you  are  in  hires,
  166. non-interlaced   NTSC,   then   you  could  specify  "ASPECT_X=2"  and
  167. "ASPECT_Y=1".  This states that there are 2 horizontal pixels to every
  168. 1 vertical.
  169. BACKGROUND_ICON=$ (none)
  170.     Names a background you wish to overlay the picture over.  There is
  171. no  default.  If the named icon does not exist, a blank workspace will
  172. be used.
  173. CENTER=B (NO)
  174.     Centers   the   image   in   the  PIC___POS/PIC___SIZE  rectangle.
  175. Otherwise, it'll be upper-left justified.
  176. CHUNKYMODE=B (NO)
  177.     Turns on chunky image conversion.  This may allow certain types of
  178. graphic  boards to save correct looking icons.  The conversion process
  179. is a bit slower, but much safer.
  180. DITHER=B (YES)
  181.     Turns error-diffusion dithering on or off.
  182. FREE_ICON_POS=B (NO)
  183.     If  on,  all  saved  icons will be "unsnapshot".  If off, then the
  184. template icon's position will be used.
  185. FORCE_EIGHT=B (NO)
  186.     Saves  the  icons with 8 planes, always.  This will only help with
  187. icons  created  with  3 planes (8 colors), and a MagicWB style palette
  188. setup.   Hopefully, everyone has switched to "shovecolors" by now, and
  189. won't need this option...  :)
  190. HIGHPEN=x (256)
  191.     Specifies the highest pen to use.  A value of 4 or 8 is useful for
  192. cross-computer displaying.
  193. LOWPRI=B (NO)
  194.     Turn this on to allow Picticon to run at -1 priority.  Usefull for
  195. background processing of many images.
  196. MAXIWIDTH=x (128)
  197. MAXIHEIGHT=x (100)
  198.     This  is  the  workspace  you  wish  to allocate to the processing
  199. engine.   It ranges from 50 to 1000 in size.  If you specify too small
  200. of  a number, your icons may come out chopped off.  The default values
  201. Usually work fine.
  202. NEWICON=B (NO)
  203.     Saves  newicons.   Original  image is replaced with a "dot" image.
  204. The  maximum  size  is  reduced  to 92x92 pixels and is enforced.  Any
  205. background templates are ignored, as these are not color-mapped yet.
  206. See: @{"Newicons" link "Newicons"}
  207. NOAPPICON=B (NO)
  208.     Disables the creation of an AppItem (Workbench's Tools menu).
  209. PIC_X_POS=x (0)
  210. PIC_Y_POS=x (0)
  211. PIC_X_SIZE=x (size of buffer (128))
  212. PIC_Y_SIZE=x (size of buffer (100))
  213.     Creates  a  rectangle to place the scaled image into.  This can be
  214. used  along  with  BACKGROUND_ICON to create frames.  See my examples.
  215. Also, see the CENTER tooltype.
  216. QUIET=B (NO)
  217.     Turns  off  all  status  output, including messages and the status
  218. window.  Not tested much, so take care.
  219. SHOWSIZE_NORMAL=B (NO) This overrides:  SHOWSIZE_OUTLINE=B (NO)
  220.     The  size  text can be 1 of three styles.  It defaults to a shadow
  221. look,  but  a  normal  font or outline style can be specified.  NORMAL
  222. overrides OUTLINE.  Use OUTLINE if you expect the text to be displayed
  223. over a confusing background.
  224. SHOWSIZE_TALL=B (NO)
  225.     Tells  the show size renderer to use the 8 pixel high font instead
  226. of the 6 pixel high.  Useful for interlaced displays.
  227. SHOWSIZE_X=x (no display)
  228. SHOWSIZE_Y=y (no display)
  229.     Will  display  the  image  size  using  one of two built in fonts.
  230. These  coordinates  specify the upper-left position, not the baseline.
  231. The  height is 6 unless SHOWSIZE_TALL is turned on, in which case it's
  232. 8.   Use  a  X coordinate of -1 to center the display under the scaled
  233. image.
  234. TEMPLATE_ICON=$ ('ENV:sys/def_picture') then,
  235.                 ('ENV:sys/def_project') then,
  236.                 (default project icon supplied by Workbench)
  237.     Names a icon to get tooltypes and positions from.  Only the "meat"
  238. is  used,  not  the  image.   To  specify  an  image, see the tooltype
  239. BACKGROUND_ICON.
  240. @endnode
  241. @node "Bugs" "Known Bugs"
  242. Known Bugs
  243.     (1) ANNOYANCE A small bug that makes usage annoying.
  244.     (2) VISUAL A bug which makes visual output unattractive.
  245.     (3) GENERAL A general performance lack of a feature.
  246.     (4) SERIOUS Will not crash the machine, but will require a reboot.
  247.     (5) CRITICAL This is a spectacular crash.
  248.   (2)  If  your screen font is too wide, some text may be chopped off.
  249.        This  window  width  is  set  at  400  pixels  until  I  find a
  250.        reasonable solution.
  251.   (4)  Sometimes  the  JPEG  datatype  will  freeze and then refuse to
  252.        respond  to all future requests.  I'm not sure about the entire
  253.        nature,  but  the  only  solution  is a reboot.  It will affect
  254.        *ALL*   programs   afterwards,  so  it  is  probably  the  JPEG
  255.        datatype's fault.  ?
  256.        Sending  the  Picticon  process  a  signal  via  XOper  usually
  257.        restarts  the  JPeg  datatype.   Any  good Amiga user will have
  258.        XOper  sitting  on  his/her  hard drive.  Just send a $FFFFFFFF
  259.        signal to Picticon's process.  Repeat if neccessary.
  260.   (3)  Any  picture  that's  smaller  than  the  domains  (pic_x_size,
  261.        pic_y_size)  will be ignored by the aspect scaler.  This is not
  262.        too bad, as small images don't scale well.
  263.   (3) Some small brushes seem to create a black rectangle.  Unknown as
  264.       to why this happens.
  265. @endnode
  266. @node "history" "History"
  267.     o  whatis.library is now optional!
  268.     o  Tooltypes now support "TRUE" along with "YES".
  269.     o  Closegadget added to progress window.
  270.     o  AppItem is optional.
  271. 0.95b
  272.     o  Included correct executable with archive!
  273.     o  Added newicons support.
  274.     o  Added whatis support.
  275.     o  Wildcard support from CLI.
  276.     o  Multiple filenames from CLI.
  277.     o  CTRL-C support.
  278. @endnode
  279. @node "todo" "Stuff to do"
  280. To-do
  281.     o  Allow an entire directory to be processed when a drawer icon is
  282.        dropped on the app-icon.
  283.     o  Fix datatype scaler's handling of certain small images.
  284.     ?  Maybe  a  frame  around  the image, to  distinguish it from the
  285.        background?
  286.     ?  A GUI preference program/window to make easy option changes?
  287. @endnode
  288. @node "QA" "Q&A"
  289. Questions and Answers (Q&A)
  290.     Q - When loading JPegs, it takes an awfully long time...
  291.     A  - JPegs are slow, even on fast computers.  Just run them in the
  292.          background (@{"LOWPRI
  293. tooltype" link "Tooltypes" 0}) and do
  294.          something else.  (Wow, multitasking.)
  295. @endnode
  296. @node "Author" "Author Info"
  297. Author Info
  298. The author:
  299.   US.Snail:  Chad Randall
  300.              229 S.Washington,
  301.              Manchester, Michigan
  302.              48158-9680 USA
  303.   Internet:  crandall@garnet.msen.com
  304.      Phone:  (313)-428-0113
  305. Thanks to:
  306.     Jay  Miner.   For creating such a unique, wonderfull machine.  May
  307.                   he rest in peace.
  308.     Wouter  van  Oortmerssen.   For  "E"  in all it's glory.  E 3.0 is
  309.                                 GREAT!
  310.     Lionel  Vintenat.  The French locale catalog, for both Iconian and
  311.                        Picticon.
  312.     Mark  'theMUG'  Rose.  For Picticon's icon.  Hope he don't mind me
  313.                            ripping  it  from his archive, and modifing
  314.                            the app_icon a bit.
  315.     Colin Bell.  My datatype routines are partially based on his.
  316.     David Larsson.  For King-CON, of course!
  317.     D.L.   McPaul.  For the AmigaGuide Writer, used to create parts of
  318.                     this guide.
  319.     Iconian  betatesters.   For  finding so many bugs, I still haven't
  320.                             gotten them all.  I3 is on it's way!
  321.     Commodore  (RIP).   For  all  their  mismanagment,  non-marketing,
  322.                         unfulfilled      promises,     and     overall
  323.                         empty-headedness.  :P PPPPHTTT
  324.     Any  company  willing  to  hire me.  Hey, I'll do free-lance work!
  325.                   Mail me.
  326. Other works by C.Randall
  327.  Previous Aminet released works include:
  328.      @{"Iconian" link "Iconian" 0} The premier 3.x icon editor that almost does it all, for now.
  329.        MWB2NI Converts a "magic-wb" icon into a "newicon".
  330.   KiSS Player Supports the KISS/GS format, and upto 256 colors.
  331.     kissutils CLI based programs to convert ppm<->kissdata.
  332.    Randomcopy Copies one file from a pattern list to a destination file.
  333.   Half-n-Half Fakes 1 meg of "fast" memory from 2 megs of "chip".
  334.        Fake20 Hacks execbase into thinking you have a '20 installed.
  335.    ColorSlash A boot picture based on the OS3.x system disks.
  336.  Yet to be released Amiga programs:
  337.   Iconian III A complete rewrite of Iconian 1.98.
  338.  Other notable ancient projects:
  339.    Pit Bomber 4 mini-games in one.  PET
  340.      Bust Out Break out clone.  PET
  341.          Land Unique game where 2 players fight for land.  VIC=20 
  342. Cartoon DBase Keep track of Saturday cartoons.  VIC=20
  343.  To Hell&Back Ultima clone.  C-64
  344.     Land Wars Updated Vic game.  C-64
  345.      Un-named Unfinished Wizardry/Ultima clone.  (Too big for me) IBM
  346.       B-Paint Monochrome paint program.  IBM
  347.       C-Paint 256 color paint program with mouse support.  IBM
  348.       Chess-4 A four player chess program based on Hoyles rules.  IBM
  349.         Tetra Tetris clone.  IBM
  350.         Petra Well-tris clone.  IBM
  351.     Tank Wars Tank trajectory, landscape battle thingy.  IBM
  352.      Gems 1,2 Two versions of Columns clone.  IBM
  353.       Chess-4 IBM conversion for AmigaBASIC.  Amiga
  354.  VCR database Simple movie indexer.  Amiga
  355.         PopEd Program to create Populous gfx landscapes from IFFs.  Amiga
  356.         Z-Mix Set of 2080 color display programs for OLD chipset.  Amiga
  357.      Gems 3-6 4 versions of Columns clone.  Amiga
  358.   btw, you can ask to see any of the above, but don't expect much.
  359.     Most of it's buried and long forgotten.
  360. @endnode
  361. @node "Iconian" "Iconian"
  362. Iconian
  363. A great (IMHO) icon editor that deserves a look at.  Features abound:
  364.                        Features of Iconian v1.98
  365.   Support for sizable windows and custom fonts.
  366.   Multiple undos
  367.   Appwindows
  368.   Custom magnification levels
  369.   Upto 256 colors
  370.   3.x palette sharing
  371.   RGB color editing
  372.   Integer scaling of oversized brushes
  373.   Optional remapping of IFFs to screen colors
  374.   Can save 8 plane icons which stay "normal" regardless of screen depth.
  375.   Full range of drawing tools including beveled boxes
  376.   Recolors 1.3 icons
  377.   Clipboard support
  378.   Extensive keyboard support
  379.   Ability to cut and paste brushes
  380.   Drawing with text, including selectable font and styles
  381.   100% system supported, no reqtools/explode/iff/powerpacker required
  382. Look for it on Aminet in the gfx/edit directory.  It requires OS 3.x.
  383. @endnode
  384. @NODE "Newicons" "Newicons"
  385. Newicons
  386. First  off,  we  must  first clarify the two (2) parts of Newicon that
  387. exist.   There's  the  icon  collection,  and  then there's the system
  388. patch.   I  personally  don't  care  for  the iso-icons, so I won't be
  389. dealing  with  them.   We  are interested in the Newicon system-patch,
  390. exclusively.
  391. To  enable  saving  of newicons, you need to specify a "NI" on the CLI
  392. line, or a "NEWICON=YES" tooltype from Workbench.
  393. Some  features  of  Picticon become disabled when this is active.  You
  394. can't make icons larger than 92x92 pixels, as Newicons won't allow it.
  395. No  background  image,  as  the  palettes  cannot  be  merged into the
  396. datatype  palette.  Dithering is not possible, as the scaling function
  397. uses the original palette.  This means displaying a newicon image will
  398. result  in  considerably  less  quality  than  a dithered one.  But of
  399. course,  the  trade  off  is  that  the  newicon will look better on a
  400. different  screen  depth and/or palette, whereas an original icon will
  401. only  look  good  on it's original screen format.  A newicon file will
  402. usually  be a bit larger if the picture has 256 colors, but smaller if
  403. it's  2-32 colors.  Consider all these trade-offs, and decide which is
  404. best for you.  Time to experiment.
  405. When  Picticon  saves  a  newicon,  it  creates  a  "dot" icon for the
  406. original  icon.   This  means  if  you  trade  the icon to someone who
  407. doesn't  have newicons installed, they will only see a very tiny icon.
  408. @endnode
  409.